[INFO] cloning repository https://github.com/bknshn/girigiri
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bknshn/girigiri" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbknshn%2Fgirigiri", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbknshn%2Fgirigiri'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6a8a0147481f14fca1795d905d3a63c64b9c7df1
[INFO] checking bknshn/girigiri against master#e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682 for beta-170-4
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbknshn%2Fgirigiri" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/bknshn/girigiri on toolchain e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/bknshn/girigiri
[INFO] finished tweaking git repo https://github.com/bknshn/girigiri
[INFO] tweaked toml for git repo https://github.com/bknshn/girigiri written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/bknshn/girigiri already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fd03e274fcda004e8df802a943004035d68e451532942a2399188e3f0f3dbbe4
[INFO] running `Command { std: "docker" "start" "-a" "fd03e274fcda004e8df802a943004035d68e451532942a2399188e3f0f3dbbe4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fd03e274fcda004e8df802a943004035d68e451532942a2399188e3f0f3dbbe4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fd03e274fcda004e8df802a943004035d68e451532942a2399188e3f0f3dbbe4", kill_on_drop: false }`
[INFO] [stdout] fd03e274fcda004e8df802a943004035d68e451532942a2399188e3f0f3dbbe4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:19e73879b68f455e41552ea35293514db52ea292d993f571636dbffedb77a1ee" "/opt/rustwide/cargo-home/bin/cargo" "+e6e4f7ed1589e03bc2f6c5931c1a72e7947e8682" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a57942203395f55d9365d2f1d7c69240fd40cd5bde952152c5b4a9a5b717a2de
[INFO] running `Command { std: "docker" "start" "-a" "a57942203395f55d9365d2f1d7c69240fd40cd5bde952152c5b4a9a5b717a2de", kill_on_drop: false }`
[INFO] [stderr]     Checking libc v0.2.41
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking rand v0.4.2
[INFO] [stderr]     Checking rand v0.3.22
[INFO] [stderr]     Checking girigiri v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `shogi::color::*`
[INFO] [stdout]  --> src/engine/alphabeta/eval.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use shogi::color::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shogi::color::*`
[INFO] [stdout]  --> src/engine/alphabeta/eval.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use shogi::color::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shogi/hash.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | / lazy_static! {
[INFO] [stdout] 64 | |     pub static ref HASH_KEY_MASK: u64 = 2u64.pow(HASH_SHIFT_SIZE) - 1;
[INFO] [stdout] 65 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shogi/hash.rs:63:1
[INFO] [stdout]    |
[INFO] [stdout] 63 | / lazy_static! {
[INFO] [stdout] 64 | |     pub static ref HASH_KEY_MASK: u64 = 2u64.pow(HASH_SHIFT_SIZE) - 1;
[INFO] [stdout] 65 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shogi/hash.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / lazy_static! {
[INFO] [stdout] 70 | |     pub static ref BOARD_HASH: [[u64; 81]; 32] = {
[INFO] [stdout] 71 | |         let mut m: [[u64; 81]; 32] = [[0; 81]; 32];
[INFO] [stdout] 72 | |         for piece in 0..32 {
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |     };
[INFO] [stdout] 88 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shogi/hash.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / lazy_static! {
[INFO] [stdout] 70 | |     pub static ref BOARD_HASH: [[u64; 81]; 32] = {
[INFO] [stdout] 71 | |         let mut m: [[u64; 81]; 32] = [[0; 81]; 32];
[INFO] [stdout] 72 | |         for piece in 0..32 {
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |     };
[INFO] [stdout] 88 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shogi/hash.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / lazy_static! {
[INFO] [stdout] 70 | |     pub static ref BOARD_HASH: [[u64; 81]; 32] = {
[INFO] [stdout] 71 | |         let mut m: [[u64; 81]; 32] = [[0; 81]; 32];
[INFO] [stdout] 72 | |         for piece in 0..32 {
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |     };
[INFO] [stdout] 88 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shogi/hash.rs:69:1
[INFO] [stdout]    |
[INFO] [stdout] 69 | / lazy_static! {
[INFO] [stdout] 70 | |     pub static ref BOARD_HASH: [[u64; 81]; 32] = {
[INFO] [stdout] 71 | |         let mut m: [[u64; 81]; 32] = [[0; 81]; 32];
[INFO] [stdout] 72 | |         for piece in 0..32 {
[INFO] [stdout] ...  |
[INFO] [stdout] 87 | |     };
[INFO] [stdout] 88 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shogi/movable.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / lazy_static! {
[INFO] [stdout] 12 | |     pub static ref SHORT_MOVABLE: [Vec<Direction>; 32] = [
[INFO] [stdout] 13 | |         // white
[INFO] [stdout] 14 | |         vec![Down],                                                         // pawn
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |     ];
[INFO] [stdout] 87 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shogi/movable.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / lazy_static! {
[INFO] [stdout] 12 | |     pub static ref SHORT_MOVABLE: [Vec<Direction>; 32] = [
[INFO] [stdout] 13 | |         // white
[INFO] [stdout] 14 | |         vec![Down],                                                         // pawn
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |     ];
[INFO] [stdout] 87 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shogi/movable.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / lazy_static! {
[INFO] [stdout] 12 | |     pub static ref SHORT_MOVABLE: [Vec<Direction>; 32] = [
[INFO] [stdout] 13 | |         // white
[INFO] [stdout] 14 | |         vec![Down],                                                         // pawn
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |     ];
[INFO] [stdout] 87 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/csa/player.rs:44:76
[INFO] [stdout]    |
[INFO] [stdout] 44 |             Err(why) => panic!("couldn't create {}: {}", file_path, Error::description(&why)),
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/shogi/movable.rs:11:1
[INFO] [stdout]    |
[INFO] [stdout] 11 | / lazy_static! {
[INFO] [stdout] 12 | |     pub static ref SHORT_MOVABLE: [Vec<Direction>; 32] = [
[INFO] [stdout] 13 | |         // white
[INFO] [stdout] 14 | |         vec![Down],                                                         // pawn
[INFO] [stdout] ...  |
[INFO] [stdout] 86 | |     ];
[INFO] [stdout] 87 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/csa/player.rs:44:76
[INFO] [stdout]    |
[INFO] [stdout] 44 |             Err(why) => panic!("couldn't create {}: {}", file_path, Error::description(&why)),
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eval`
[INFO] [stdout]   --> src/engine/alphabeta/controller.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let eval = self.search(depth).unwrap();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_eval`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/alphabeta/controller.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut mv = NULL_MOVE;
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `eval`
[INFO] [stdout]   --> src/engine/alphabeta/controller.rs:85:13
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let eval = self.search(depth).unwrap();
[INFO] [stdout]    |             ^^^^ help: if this is intentional, prefix it with an underscore: `_eval`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/engine/alphabeta/controller.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut mv = NULL_MOVE;
[INFO] [stdout]    |             ----^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: literal out of range for `i8`
[INFO] [stdout]  --> src/shogi/move_encode.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | const PROMOTE_MASK: i8 = 0b10000000;
[INFO] [stdout]   |                          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: the literal `0b10000000` (decimal `128`) does not fit into the type `i8` and will become `-128i8`
[INFO] [stdout]   = help: consider using the type `u8` instead
[INFO] [stdout]   = note: `#[deny(overflowing_literals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: literal out of range for `i8`
[INFO] [stdout]  --> src/shogi/move_encode.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | const PROMOTE_MASK: i8 = 0b10000000;
[INFO] [stdout]   |                          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: the literal `0b10000000` (decimal `128`) does not fit into the type `i8` and will become `-128i8`
[INFO] [stdout]   = help: consider using the type `u8` instead
[INFO] [stdout]   = note: `#[deny(overflowing_literals)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/shogi/position.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |         VARIANTS.into_iter()
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 84 |         VARIANTS.iter()
[INFO] [stdout]    |                  ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 84 |         IntoIterator::into_iter(VARIANTS)
[INFO] [stdout]    |         ++++++++++++++++++++++++        ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/csa/player.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | /         match self.kifu {
[INFO] [stdout] 59 | |             Some(ref mut file) => file.write_all(cmd.as_bytes()),
[INFO] [stdout] 60 | |             None => Ok(()),
[INFO] [stdout] 61 | |         };
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let _ = match self.kifu {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/csa/player.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | /         match self.kifu {
[INFO] [stdout] 73 | |             Some(ref mut file) => file.write_all(cmd.as_bytes()),
[INFO] [stdout] 74 | |             None => Ok(()),
[INFO] [stdout] 75 | |         };
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let _ = match self.kifu {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/shogi/position.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |         VARIANTS.into_iter()
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 84 |         VARIANTS.iter()
[INFO] [stdout]    |                  ~~~~
[INFO] [stdout] help: or use `IntoIterator::into_iter(..)` instead of `.into_iter()` to explicitly iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 84 |         IntoIterator::into_iter(VARIANTS)
[INFO] [stdout]    |         ++++++++++++++++++++++++        ~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/csa/player.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 | /         match self.kifu {
[INFO] [stdout] 59 | |             Some(ref mut file) => file.write_all(cmd.as_bytes()),
[INFO] [stdout] 60 | |             None => Ok(()),
[INFO] [stdout] 61 | |         };
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let _ = match self.kifu {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/csa/player.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 | /         match self.kifu {
[INFO] [stdout] 73 | |             Some(ref mut file) => file.write_all(cmd.as_bytes()),
[INFO] [stdout] 74 | |             None => Ok(()),
[INFO] [stdout] 75 | |         };
[INFO] [stdout]    | |_________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 72 |         let _ = match self.kifu {
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `girigiri` (lib) due to 2 previous errors; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to previous error; 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `girigiri` (lib test) due to 2 previous errors; 12 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "a57942203395f55d9365d2f1d7c69240fd40cd5bde952152c5b4a9a5b717a2de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a57942203395f55d9365d2f1d7c69240fd40cd5bde952152c5b4a9a5b717a2de", kill_on_drop: false }`
[INFO] [stdout] a57942203395f55d9365d2f1d7c69240fd40cd5bde952152c5b4a9a5b717a2de
